Method and device for analyzing positions

ABSTRACT

The method and device for analyzing position are disclosed. By analyzing sensing information with at least one zero-crossing, each position can be analyzed. The number of analyzed positions may be different from the number of zero-crossings. When the number of analyzed positions is different from the number of zero-crossing, the number of analyzed positions is more than one.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No. 12/923,804, filed Oct. 8, 2010, which claims the benefit of U.S. Provisional Application No. 61/298,252, filed on Jan. 26, 2010, Provisional Application No. 61/298,243, filed on Jan. 26, 2010 and U.S. Provisional Application No. 61/250,051, filed on Oct. 9, 2009, which is herein incorporated by reference for all intents and purposes.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a method and device for analyzing positions, and more particularly, to a method and device for analyzing positions according to sensing information with zero-crossings.

2. Description of the Prior Art

Touch displays have been widely used in the various electronic devices. One approach is to employ a touch sensitive panel to define a 2-D touch area on the touch display, where sensing information is obtained by scanning along horizontal and vertical axes of the touch panel for determining the touch or proximity of an external object (e.g. a finger) on or near the touch panel. U.S. Pat. No. 4,639,720 discloses a capacitive touch display.

Sensing information can be converted into a plurality of continuous signal values by an analog-to-digital converter (ADC). By comparing signal values before and after the touch or approaching of the external object, the location touched or approached by the external object can be determined.

Generally, a controller controlling the touch panel will first obtain sensing information when there is no external object touching or approaching as a baseline. For example, in a capacitive touch panel, each conductive line corresponds to a respective baseline. The controller determines whether there is an external object touching or approaching by comparing sensing information obtained subsequently with the baseline, and further determines the position of the external object. For example, when there is no external object touching or approaching the touch panel, subsequent sensing information with respect to the baseline will be or close to zero. Thus, the controller can determine whether there is an external object touching or approaching by determining whether the sensing information with respect to the baseline is or close to zero.

As shown in FIG. 1A, when an external object 12 (e.g. a finger) touches or approaches a sensing device 120 of a touch display 10, sensing information of sensors 140 on an axis (e.g. x axis) is converted into signal values as shown in FIG. 1B. Corresponding to the appearance of the finger, the signal values show a waveform or finger profile. The location of the peak 14 of the finger profile indicates the position touched or approached by the finger.

However, when multiple touches are close, signal values corresponding to these touches tend to concentrate together, especially if the paths of two touches cross each other. In many situations, a single threshold cannot determine whether it is a single or multiple touches, and thus it is difficult to make correct position judgments.

From the above it is clear that prior art still has shortcomings. In order to solve these problems, efforts have long been made in vain, while ordinary products and methods offering no appropriate structures and methods. Thus, there is a need in the industry for a novel technique that solves these problems.

SUMMARY OF THE INVENTION

The present invention provides a method and device for analyzing positions. By analyzing sensing information with at least one zero-crossing, at least a position can be analyzed. The number of analyzed positions may be different from the number of zero-crossings. When the number of analyzed positions is different from the number of zero-crossing, the number of analyzed positions is more than one.

As mentioned before, when multiple touches are close together, signal values corresponding to these touches tend to concentrate together, especially if the paths of two touches cross each other. In many situations, a single threshold cannot determine whether it is a single or multiple touches, and thus it is difficult to make correct position judgments.

The present invention includes the following objectives:

1. determining each touch position in a touch related sensing information with zero-crossings;

2. determining each position when the number of touches equals the number of zero-crossings;

3. determining each position when the number of touches does not equal the number of zero-crossings;

4. determining zero-crossings at odd-number positions in a touch related sensing information; and

5. determining zero-crossings based on positive and negative thresholds.

The objectives of the present invention can be achieved by the following technical schemes. A method for analyzing positions proposed by the present invention may include: obtaining a sensing information including at least one zero-crossing, wherein each zero-crossing is between a positive and a negative value; and analyzing from the sensing information at least one position that is different in number to the at least one zero-crossing. In addition, a device for analyzing positions proposed by the present invention may include a controller or a host for performing at least the following operations: obtaining a sensing information including at least one zero-crossing, wherein each zero-crossing is between a positive and a negative value; and analyzing from the sensing information at least one position that is different in number to the at least one zero-crossing.

The objectives of the present invention can also be achieved by the following technical schemes. A method for analyzing positions proposed by the present invention may include: obtaining a sensing information; determining at least a first initial position in the sensing information based on a first threshold; performing a zero-crossing position analysis starting from each first initial position in a first range in a first direction to determine the position of a zero-crossing, wherein each zero-crossing is between a positive and a negative value. In addition, a device for analyzing positions may include a controller or a host for performing at least the following operations: obtaining a sensing information; determining at least a first initial position in the sensing information based on a first threshold; performing a zero-crossing position analysis starting from each first initial position in a first range in a first direction to determine the position of a zero-crossing, wherein each zero-crossing is between a positive and a negative value.

The objectives of the present invention can also be achieved by the following technical schemes. A method for detecting finger touches in a sensing device proposed by the present invention may include: obtaining a sensing information; determining whether there is one or more positive values greater than a positive threshold; determining whether there is one or more negative values smaller than a negative threshold; and determining zero-crossings between the one or more positive values greater than the positive threshold and the one or more negative values smaller than the negative threshold when there are one or more positive values greater than the positive threshold and one or more negative values smaller than the negative threshold. In addition, a device for detecting finger touches in a sensing device proposed by the present invention may include a controller or a host for performing at least the following operations: obtaining a sensing information; determining whether there is one or more positive values greater than a positive threshold; determining whether there is one or more negative values smaller than a negative threshold; and determining zero-crossings between the one or more positive values greater than the positive threshold and the one or more negative values smaller than the negative threshold when there are one or more positive values greater than the positive threshold and one or more negative values smaller than the negative threshold.

By aforementioned technical schemes, the present invention achieves at least the following advantages and benefits:

1. a touched position can still be determined when the number of zero-crossings presented in the sensing information is less than actual number of touches;

2. a touched position can still be determined when the number of zero-crossings presented in the sensing information is more than actual number of touches; and

3. analyzing positions using the properties of the differential sensing information is more accurate than determining signal peak values.

The above description is only an outline of the technical schemes of the present invention. Preferred embodiments of the present invention are provided below in conjunction with the attached drawings to enable one with ordinary skill in the art to better understand said and other objectives, features and advantages of the present invention and to make the present invention accordingly.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention can be more fully understood by reading the following detailed description of the preferred embodiments, with reference made to the accompanying drawings, wherein:

FIG. 1A is a schematic diagram depicting a prior-art touch sensitive device;

FIG. 1B is a schematic diagram illustrating prior-art signal values;

FIG. 1C is a schematic diagram illustrating differences according to the present invention;

FIGS. 1D and 1E are schematic diagrams illustrating dual differences according to the present invention;

FIG. 1F is a schematic diagram illustrating a sensing device according to the present invention;

FIG. 1G is a block diagram illustrating functions of a computing system according to the present invention;

FIGS. 2A and 2B are schematic diagrams illustrating a driving/detecting unit and a sensing device according to the present invention;

FIG. 3A is a block diagram illustrating functions of a detecting unit according to the present invention;

FIGS. 3B to 3D are circuit diagrams illustrating detectors according to the present invention;

FIGS. 3E to 3J are diagrams showing connections between a detecting circuit and an ADC circuit according to the present invention;

FIG. 4A is a diagram illustrating position detection using binary differences according to the present invention;

FIGS. 4B to 4D are diagrams illustrating examples for detecting centroid positions according to the present invention;

FIGS. 5A and 5B are exemplary schematic diagrams illustrating determining of zero-crossings according to the present invention;

FIGS. 5C to 5F are exemplary schematic diagrams illustrating determining of multiple zero-crossings according to the present invention;

FIGS. 6A and 6B are exemplary schematic diagrams illustrating determining whether there is a single or multiple touches or approaches according to the present invention;

FIG. 7 is a flowchart illustrating a first embodiment of the present invention;

FIG. 8 is a flowchart illustrating a second embodiment of the present invention; and

FIG. 9 is a flowchart illustrating a third embodiment of the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Some embodiments of the present invention are described in details below. However, in addition to the descriptions given below, the present invention can be applicable to other embodiments, and the scope of the present invention is not limited by such, rather by the scope of the claims. Moreover, for better understanding and clarity of the description, some components in the drawings may not necessary be drawn to scale, in which some may be exaggerated relative to others, and irrelevant parts are omitted.

Sensing Information

In the present invention, sensing information can be provided by a touch sensitive device for representing 1-D, 2-D or multi-dimensional statuses on the touch sensitive device. The sensing information can be obtained by one or more sensors and converted into a plurality of continuous signal values by one or more Analog-to-Digital converters to represent among or change in amount of detected charges, current, voltage, capacitance, impedance or other electrical characteristics. Sensing information can be obtained or transmitted alternately, sequentially or in parallel, and can be compounded into one or more signals. These are obvious to those having ordinary skill in the art.

One having ordinary skill in the art may also recognize that sensing information described in the present invention includes, but not limited to, a signal of a sensor, a result of the signal of the sensors subtracted by a baseline (e.g. a signal when untouched or initial signals), a digitally converted value of said signal or said result of signal subtracted by baseline or said value converted in any other ways. In other words, sensing information can be in the form of a signal status, a status that is converted from any electrical signal or can be converted into electrical signal recorded in a storage medium (e.g. a register, a memory, a magnetic disk, an optical disk), including but not limited to analog or digital information.

Sensing information can be provided by two 1-D sensing information on different axes. The two 1-D sensing information can be used to represent the sensing information on a first axis (e.g. vertical axis) and a second axis (e.g. horizontal axis) on the touch sensitive device. They are used for position detection on the first and second axes, respectively, i.e. providing 1-D positions on the first and second axes or further constructing a 2-D position. In addition, the two 1-D sensing information can also be used for triangulation based on the distances between sensors to detect a 2-D position on the touch sensitive device.

Sensing information can be 2-D sensing information that consists of a plurality of 1-D sensing information on the same axis. The 2-D sensing information can represent signal distribution on a 2-D plane. For example, a plurality of 1-D sensing information on the vertical axis and a plurality of 1-D sensing information on the horizontal axis can represent a signal matrix, such that position detection can be achieved by watershed algorithm or other image processing methods.

In an example of the present invention, the sensing area on the touch sensitive device includes an overlapping range of a first 2-D detecting range detected by at least one first sensor and a second 2-D detecting range detected by at least one second sensor. One with ordinary skill in the art may also recognize that the sensing area can be an overlapping range of three or more 2-D detecting ranges.

For example, the detecting range of a single sensor can be a 2-D detecting range. A sensor (e.g. CCD or CMOS sensor) with camera-based optical detection or a piezoelectric sensor with surface acoustic wave detection obtains 1-D sensing information in the 2-D detecting range. The 1-D sensing information can be comprised of information sensed at a plurality of continuous time points, which correspond to different angles, positions or ranges. In addition, the 1-D sensing information can be generated according to images obtained (e.g. by CCD-CMOS sensor) within a time interval.

Furthermore, for example, the 2-D sensing range can consist of detecting ranges of a plurality of sensors. For example, the detecting range of each infrared photoreceptor, capacitive or resistive conductive bar or strip, or inductive U-shape coil is a fan or stripe shaped detecting range towards one axis. The detecting ranges of a plurality of sensors arranged on the same axis on a line segment (straight or curved) can form a 2-D detecting range of that axis, which can be a square or fan-shaped planar or arc detecting range, for example.

In a preferred example of the present invention, the sensing area on the touch sensitive device includes a 2-D range detected by a plurality of sensors on the first and second axes. For example, through self-capacitive detection, a driving signal is provided to a plurality of first sensors, and capacitive-coupling signals or changes in said signal in a 2-D detecting range of these first sensors are sensed to obtain first 1-D sensing information. Furthermore, a driving signal is provided to a plurality of second sensors, and capacitive-coupling signals or changes in said signal in a 2-D detecting range of these second sensors are sensed to obtain second 1-D sensing information.

In another example of the present invention, the sensing area on the touch sensitive device involves a plurality of sensors detecting a plurality of 1-D sensing information in a 2-D sensing range to construct 2-D sensing information. For example, when a signal source sequentially applies a driving signal to sensors on a first axis, signal(s) of at least one of sensors in a second axis is sequentially detected or on a plurality of sensors (partially or all) are simultaneously detected to obtain 2-D sensing information on the axis, wherein the sensors are adjacent or not adjacent but neighboring sensors on the second axis. For example, in mutual-capacitive detection or analog matrix resistive detection, a plurality of sensors constitute a plurality of sensing areas for detecting sensing information at each respective area. For example, a plurality of first sensors (e.g. a plurality of first conductive lines) and a plurality of second sensors (e.g. a plurality of second conductive lines) intersect with each other to from a plurality of overlapping regions. When a driving signal is sequentially provided to each of the first sensors, corresponding to the first sensor being driven by the driving signal, signal(s) or changes in signal(s) on at least one of the second sensors on the second axis is sequentially detected or on a plurality of the second sensors (partially or all) on the second axis are simultaneously detected to obtain 1-D sensing information corresponding to that first sensor. By collecting 1-D sensing information corresponding to each of the first sensors together, 2-D sensing information can be constructed. In an example of the present invention, 2-D sensing information can be regarded as an image.

One with ordinary skill in the art can appreciate that the present invention can be applied to touch sensitive display, for example, a display attached with aforementioned resistive, capacitive, surface acoustic wave, or other touch detection device (or referred to as touch sensitive device). Thus, sensing information obtained by the touch sensitive display or device can be regarded as touch sensitive information.

In an example of the present invention, a touch sensitive device may use continuous signals from different time points, that is, composite signal continuously detected by one sensor or simultaneously by a plurality of sensors. For example, the touch sensitive device may be inductive and continuously scan coils thereon to emit electromagnetic waves. Meanwhile, sensing information is detected by one or more sensors on an electromagnetic pen and continuously compounded to form a signal. This signal is then converted into a plurality of continuous signal values by an ADC. Alternatively, electromagnetic waves are emitted by an electromagnetic pen or electromagnetic waves from an inductive touch sensitive device are reflected, and sensing information is obtained by a plurality of sensors (coils) on the touch sensitive device.

Touch Related Sensing Information

When an external object (e.g. a finger) touches or approaches a touch sensitive device, electrical characteristic or changes will be generated by sensing information at an area corresponding to the touch or proximity of the object. The larger the electrical characteristic or changes, the closer it is to the center (e.g. centroid, center of gravity of center of geometry) of the external object. Continuous sensing information can be regarded as constituted by a plurality of continuous values whether it is digital or analog. The center of the external object may correspond between one or two values. In the present invention, a plurality of continuous values can be spatially or temporally continuous.

A first type of 1-D sensing information provided by the present invention is in the form of a plurality of continuous signal values, which can be signal values detected by a plurality of sensors in a time interval, by a single sensor in a continuous time interval or by a single sensor in a single time interval at different detecting locations. In the process of representing sensing information as signal values, signals from respective sensors, time intervals or locations are sequentially converted into signal values, or part or all of sensing information is obtained, thereafter, respective signal values are then analyzed. When an external object touches or draws near to a sensing device, continuous signal values of 1-D sensing information can be those as shown in FIG. 1B. Position touched by the external object corresponds to the peak 14 of the sensing information, wherein peak 14 may reside between two signal values. As described earlier, the present invention does not limit the form of sensing information. Signal values can be another form of the signals of the sensors. For brevity of the description, the present invention below is described in the context of implementations of the signal values. One with ordinary skill in the art may appreciate the implementations of signals from the implementations of signal values.

A second type of 1-D sensing information provided by the present invention is in the form of a plurality of continuous differences, compared to the signal values above, each difference is the difference of a pair of signal values, and the sensing information represented by a plurality of differences can be regarded as differential sensing information. In the present invention, differential sensing information can be obtained directly during sensing, for example, simultaneously or continuously obtaining a plurality of signals, each difference being generated based on a differential signal corresponding to a pair of sensor, time intervals, or locations. The differential sensing information can be generated based on the original sensing information including a plurality of signal values generated previously. As described earlier, the present invention does not limit the form of sensing information. Differences can be another form of the differential signals. For brevity of the description, the present invention below is described in the context of implementations of the differences. One with ordinary skill in the art may appreciate the implementations of differential signals from the implementations of differences.

In an example of the present invention, a difference can be the difference between a pair of adjacent or not adjacent signal values, for example, the difference between a signal value and its immediately preceding signal value, or between a signal value and its following signal value. In another example of the present invention, the difference can be the difference between non-adjacent signal values. When an external object touches or draws close to the touch sensitive device, continuous differences of 1-D sensing information can be those shown in FIG. 1C, wherein the position of the external object corresponds to zero-crossing 15 of the sensing information. Zero-crossing 15 may reside between two signal values. In an example of the present invention, on the touch sensitive device, the location of each difference is the middle of the two corresponding signal values.

A third type of 1-D sensing information provided by the present invention is in the form of a plurality of continuous dual differences, compared to the signal values and differences above, each dual difference can be the sum or difference of the difference for a first pair of signal values and the difference for a second pair of signal values, that is, the sum or difference of the differences of two pairs of signal values. For example, two pairs of signal values include a first signal value, a second signal value, a third signal value, and a fourth signal value. The dual difference for these four signals is (second signal value−first signal value)+(third signal value−fourth signal value), (second signal value−first signal value)−(fourth signal value−third signal value), (first signal value−second signal value)+(fourth signal value−third signal value) or (first signal value−second signal value)−(third signal value−fourth signal value). In addition, sensing information represented by continuous dual differences can be regarded as dual-differential sensing information. In the present invention, a dual difference is not limited to being provided after signal values or differences, but can also be provided through the sum or difference after subtraction of two pairs of signals upon sensing information being provided, providing dual differential signal similar or equivalent to the sum or difference of the differences between two pair of signal values. As described earlier, the present invention does not limit the form of sensing information. Dual differences can be another form of the dual differential signals. For brevity of the description, the present invention below is described in the context of implementations of the dual differences. One with ordinary skill in the art may appreciate the implementations of dual differential signals from the implementations of dual differences.

In an example of the present invention, when the external object touches or approaches the touch sensitive device, two pairs of signal values are constituted by three adjacent or non-adjacent signal values. In an example of the present invention, the differences between the prior two signal values and the latter two signal values are a first difference and a second difference, respectively, and the dual difference is the difference between the first difference and the second difference, wherein the first difference and the second difference both can be the results of the preceding signal value minus the following signal value or the following signal value minus the preceding signal value. In another example of the present invention, the differences between the first two signal values and the last two signal values are a first difference and a second difference, respectively, and the dual difference is the sum of the first difference and the second difference, wherein one of the first difference and the second difference is the result of the preceding signal value minus the following signal value, whereas the other one of the first difference and the second difference is the result of the following signal value minus the preceding signal value. For example, two pairs of signal values include a first signal, a second signal, and a third signal. The dual difference for these three signal values is (second signal value−first signal value)+(second signal value−third signal value), (second signal value−first signal value)−(third signal value−second signal value), (first signal value−second signal value)+(third signal value−second signal value), or (first signal value−second signal value)−(second signal value−third signal value). When two pairs of signal values are constituted by three adjacent signal values, and an external object touches or approaches the touch sensitive device, the continuous dual differences of 1-D sensing information can be those shown in FIG. 1D, wherein the position of the external object corresponds to middle peak 16 of the sensing information. Middle peak 16 may reside between two signal values. When two pairs of signal values are constituted by three non-adjacent signal values, and an external object touches or approaches the touch sensitive device, the continuous dual differences of 1-D sensing information can be those shown in FIG. 1E, wherein the position of the external object corresponds to middle peak 17 of the sensing information. Middle peak 17 may reside between two signal values.

In the present invention, sensing information corresponding to respective sensor, time interval or position can be signals detected by the sensors. When the signals are analog, it can be converted into digital signal values by an ADC. Thus, the above difference can also be the value of the difference between a pair of signals, for example, value converted from a pair of signals subtracted via a differential amplifier. Similarly, the above dual difference can also be the value converted from two pairs of signals subtracted via a differential amplifier and then added (or subtracted) together. One with ordinary skill in the art can appreciate that the difference and dual difference described by the present invention not only include being generated by signals or signal values, but also include temporary states of records (electrical, magnetic or optical records), signals or signal values during hardware or software implementations.

In other words, sensing information can be signals, differential signals (e.g. difference between a pair of signals), dual differential signals (e.g. sum or difference of two pairs of signals) on or between the sensors, and signal values, differences, dual differences (analog-to-digital converted signal values, differences or dual differences) can be another form. Signals and signal values, differential signals and differences, and dual differential signals and dual differences are sensing information represented at different stages. In addition, for brevity of the description, touch related sensing information mentioned herein broadly refers to sensing information corresponding to touch or proximity of an external object, such as original touch related sensing information, differential touch related sensing information and dual-differential touch related sensing information.

One with ordinary skill in the art can appreciate that in the case of differences or dual differences, zero-crossing is between at least one positive value and at least one negative value that is between a pair of positive and negative values. The difference or dual difference that corresponds to the touch or proximity of the external object may be an alternating continuous combination of at least one positive value and at least one negative value, wherein at least one zero value is interposed between the at least one positive value and at least one negative value. In most cases, the difference or dual difference that corresponds to the touch or proximity of the external object is an alternating continuous combination of multiple positive values and multiple negative values, wherein zero-crossings between positive and negative values may be at least a zero value or between two values.

In contrast, touch related signal values include a plurality of continuous non-zero values, or an independent non-zero value not adjacent to other non-zero values. In some cases, an independent non-zero value not adjacent to other non-zero values may be generated by noise, which should be identified and neglected by thresholding or other types of mechanisms.

Since noise could generate zero-crossing similar to the touch or proximity of an external object when large, thus in an example of the present invention, values that fall within a zero-value range will be treated as zero values. Difference or dual difference corresponding to the touch or proximity of an external object is an alternating continuous combination of multiple values above a positive threshold and multiple values below a negative threshold, wherein a zero-crossing between a value above the positive threshold and a value below a negative threshold may be at least one zero value or between two values.

In summary of the above, differential touch related sensing information and dual-differential touch related sensing information are alternating continuous combinations of at least one positive value and at least one negative value including a zero-crossing, wherein the zero-crossing can be at least one zero value or between the positive and negative values. In other words, a plurality of continuous zero values between positive and negative values in the differential touch related sensing information and dual-differential touch related sensing information are treated as zero-crossings, or one of which is treated as a zero-crossing.

In an example of the present invention, touch related sensing information is set to begin with at least a positive or negative value, and from there an alternating continuous combination of at least one positive value and at least one negative value including a zero-crossing is searched, wherein the zero-crossing may be at least one zero value or between positive and negative values. In differential touch related sensing information, alternating combinations of at least one positive value and at least one negative value occur symmetrically, and in dual-differential touch related sensing information, alternating combinations of at least one positive value and at least one negative value do not occur symmetrically. In an example of the present invention, touch related sensing information is continuous non-zero values, e.g. a plurality of continuous non-zero signal values.

The at least one positive value above can be regarded as a positive-value set including at least one positive value. Similarly, the at least one negative value above can be regarded as a negative-value set including at least one negative value. Thus, the above alternating combination can be a combination of two sets: a positive-value set and a negative-value set, or a combination of three or more set with alternating positive-value and negative-value sets. In an example of the present invention, at least one zero value may exist between zero, one, or multiple positive-value and negative-value sets.

System Framework

In order to more clearly illustrate how sensing information of the present invention is generated, the present invention uses a capacitive touch sensitive device as an example, and one with ordinary skill in the art can readily recognize other applications such as in resistive, infrared, surface acoustic wave, or optical touch sensitive devices.

Referring to FIG. 1F, the present invention provides a position detecting device 100. As shown, the device includes a sensing device 120 and a driving/detecting unit 130. Sensing device 120 has a sensing layer. In an example of the present invention, the sensing layer can include a first sensing layer 120A and a second sensing layer 120B. First and second sensing layers 120A and 120B each has a plurality of sensors 140, wherein first sensors 140A of first sensing layer 120A cross upon second sensors 140B of second sensing layer 120B. In another example of the present invention, first and second sensors 140A and 140B are disposed in a co-planar sensing layer. Driving/detecting unit 130 produces sensing information based on signals of sensors 140. In the case of self-capacitive detection, for example, sensors 140 driven are sensed. In the case of mutual-capacitive detection, some of sensors 140 not directly driven by driving/detecting unit 130 are sensed. In addition, sensing device 120 can be disposed on a display 110. An optional shielding layer (not shown) can be interposed between sensing device 120 and display 110.

The position detecting device 100 of the present invention can be applied to a computing system as shown in FIG. 1G, which includes a controller 160 and a host 170. The controller includes driving/detecting unit 130 to operatively couple sensing device 120 (not shown). In addition, controller 160 can include a processor 161 for controlling driving/detecting unit 130 in generating sensing information. Sensing information can be stored in a memory 162 and accessible by processor 161. Moreover, host 170 constitutes the main body of the computing system, mainly includes a central processing unit 171, a storage unit 173 that can be accessed by central processing unit 171, and display 110 for displaying results of operations.

In another example of the present invention, there is a transmission interface between controller 160 and host 170. The controlling unit transmits data to the host via the transmission interface. One with ordinary skill in the art can appreciate that the transmission interface may include, but not limited to, UART, USB, I²C, Bluetooth, Wi-Fi wireless or wired transmission interfaces. In an example of the present invention, data transmitted can be position (e.g. coordinates), identification results (e.g. gesture codes), command, sensing information or other information provided by controller 160.

In an example of the present invention, sensing information can be initial sensing information generated under the control of processor 161, and position analysis is carried out by host 170, such as position analysis, gesture identification, command identification etc. In another example of the present invention, sensing information can be analyzed by processor 161 first before forwarding determined position, gesture or command etc. to host 170. The present invention does not limit to this example, and one with ordinary skill in the art can readily recognize other interactions between controller 160 and host 170.

Referring to FIG. 2A, in an example of the present invention, driving/detecting unit 130 may include a driving unit 130A and a detecting unit 130B. The plurality of sensors 140 of sensing device 120 are operatively coupled to driving/detecting unit 130 via a plurality of wires. In the example of FIG. 2A, driving unit 130A and detecting unit 130B are operatively coupled to sensors 140A via wires W1 and to sensors 140B via wires W2.

For example, in self-capacitive detection, all sensors 140A are sequentially or simultaneously driven or some of sensors 140A are driven simultaneously in batch by driving unit 130A via wires W1 in a first time period. Sensing information of a first axis (1-D sensing information) is generated via wires W1 by detecting unit 130 based on signals of sensors 140A. Similarly, all sensors 140B are sequentially or simultaneously driven or some of sensors 140A are driven simultaneously in batch by driving unit 130A via wires W2 in a second time period. Sensing information of a second axis (1-D sensing information) is generated via wires W2 by detecting unit 130 based on signals of sensors 140B.

For example, in mutual-capacitive detection, sensors 140B are driven by driving unit 130 via wires W2 in a first time period, and when each sensor 140B is respectively driven, 1-D sensing information corresponding to a first axis of the driven sensors is generated by detecting unit 130B based on signals of sensors 140A via wires W1. These 1-D sensing information on the first axis construct 2-D sensing information (or an image) on the first axis. Similarly, sensors 140A are driven by driving unit 130 via wires W1 in a second time period, and when each sensor 140A is respectively driven, 1-D sensing information corresponding to a second axis of the driven sensors is generated by detecting unit 130B based on signals of sensors 140B via wires W2. These 1-D sensing information on the second axis construct 2-D sensing information (or an image) on the second axis. In addition, driving unit 130A and detecting unit 130B can be synchronized via lines 132 by providing signals. The signals on lines 132 can be provided by said processor 160.

Referring to FIG. 2B, sensor device 120 can also generate 2-D sensing information on only a single axis. In this example, sensors 140B are driven by wires W2, and when each sensor 140B is respectively driven, 1-D sensing information of the driven sensor is generated by detecting unit 130B based on the signals of sensors 140A via wires W1. These 1-D sensing information constitute 2-D sensing information (or an image).

In other words, position detecting device 100 of the present invention is capable of producing 1-D sensing information in 2 axes or 2-D sensing information in 2 axes, producing both 1-D and 2-D sensing information in 2 axes, or producing 2-D sensing information in a single axis. The present invention may include but not limited to said capacitive position detecting device, one with ordinary skill in the art can appreciate other applications, such as in resistive, capacitive, surface acoustic wave, or other touch sensitive device.

Referring to FIG. 3A, detecting unit 130B is operatively coupled to the sensing device via wires (e.g. W1). The operative coupling can be achieved by a switching circuit 310, which can be one or more electrical elements such as multiplexers and/or switches. One with ordinary skill in the art can recognize other use of switching circuits. Signals of sensors 140 can be detected by a detecting circuit 320. When signal output by detecting circuit 320 is analog, it is then passed through ADC circuit 330 to generate sensing information SI. Sensing information SI can be analog or digital. In a preferred example of the present invention, sensing information is digital, but the present invention is not limited to the above example. One with ordinary skill in the art can appreciate that detecting circuit 320 and ADC circuit 330 can be integrated in one or more circuits.

Detecting circuit 320 can be comprised of one or more detectors, each receiving a signal from at least one sensor 140 and generating an output. The detectors can be detectors 340, 350 and 360 shown in FIGS. 3B to 3D.

In an example of the present invention, the detection of the signals of sensors 140 can be achieved by an integrator. One with ordinary skill in the art can appreciate other circuits that measure electrical characteristics (e.g. voltage, current, capacitance, induction etc.), such as an ADC, can be applied to the present invention. An integrator can be implemented by an amplifier Cint, which includes an input (e.g. as shown by integrator 322 of FIG. 3B) or a pair of input (e.g. as shown by integrator 324 of FIGS. 3C and 3D) and an output. Output signal can be used by ADC circuit 330 to generate values of sensing information SI, each of these values can be controlled by a reset signal, such as a reset signal Sreset shown in FIGS. 3B to 3D.

In another example of the present invention, signals of sensors 140 are AC signals that vary with a pair of half cycles. Thus, the detection of the signals of sensors 140 also changes with different half cycles. For example, signals of sensors 140 are detected in the prior half cycle, and inverse signals of sensors 140 are detected in the latter half cycle, or vice versa. Therefore, the detection of the signals of sensors 140 can be controlled by a synchronizing signal Ssync, as shown in FIGS. 3B to 3C. Synchronizing signal Ssync and the signals of sensors 140 are in sync or having the same cycle. For example, synchronizing signal Ssync is used to control one or more switches (e.g. switching circuits 321, 323, 325) to switch between base points P1 and P2, so as to detect the signals of sensor 140 in the prior half cycle, and to detect the inverse signals of sensor 140 in the latter half cycle. In FIG. 3B, the inverse signals are provided by an inverter Cinv.

In yet another example of the present invention, the detection of the signals of sensors 140 is performed in at least a predetermined time interval (or phase) in at least a cycle. Detection can be done in at least an interval in the first half cycle and at least an interval in the second half cycle; or in at least an interval in only the first or second half cycle. In a preferred example of the present invention, at least a preferred time interval in a cycle is scanned as the detection interval, wherein noise interference in this detection interval is smaller than in other intervals. Scanning of the detection interval can be determined by the detection of the signal of at least one sensor in each interval in at least a cycle. Upon determining a detection interval, detection of the signals of sensors is performed only in that detection interval, and this can be controlled by a signal, such as an enable signal Senable in FIGS. 3B to 3D.

The present invention generates the values of sensing information SI based on the signal of at least one sensor 140. In an example of the present invention, sensing information SI consists of a plurality of signal values. As shown in FIG. 3B, an input 311 is operatively coupled to a sensor 140 for detecting a signal and a signal value of sensing information SI is generated through ADC circuit 330. In another example of the present invention, sensing information SI consists of a plurality of differences. As shown in FIG. 3C, a pair of inputs 312 and 313 are operatively coupled to a sensor 140 for detecting a differential signal and a difference (or single difference) of sensing information SI is generated through ADC circuit 330. In yet another example of the present invention, sensing information SI consists of a plurality of dual differences. As shown in FIG. 3D, three inputs 314, 315 and 316 are operatively coupled to a sensor 140 for detecting a dual differential signal and a dual difference of sensing information SI is generated through ADC circuit 330. A dual differential signal is generated from the difference between a pair of differential signals; each differential signal is generated based on signals of a pair of sensors. In other words, a dual differential signal is generated based on signals of a first pair of sensors and a second pair of sensors, wherein the first pair of sensors are the first two sensors in the three sensors, and the second pair of sensors are the latter two sensors in the three sensors; these three sensors can be adjacent or not adjacent.

In a preferred example of the present invention, detecting circuit 320 includes a plurality of detectors, which simultaneously generate all or some values of sensing information SI. As shown in FIGS. 3E to 3J, detecting circuit 320 can comprise of a detector 340, 350 or 360. The output of the detector is then converted into values of sensing information SI by ADC circuit 330.

ADC circuit 330 includes at least one ADC. Each ADC may output values of sensing information SI based on an output of only one detector, as shown in FIGS. 3E, 3G and 3I. Alternatively, an ADC may output values of sensing information SI based on outputs of several detectors in turn, as shown in FIGS. 3F, 3H and 3J. Values of sensing information SI can be generated in parallel or in series. In a preferred example of the present invention, values of sensing information SI are generated in series, which can be achieved by a switching circuit 370, for example, by outputting values of sensing information SI from a plurality of ADCs in turn, as shown in FIGS. 3E, 3G, and 3I, or by providing outputs of a plurality of integrators to a single ADC in turn to generate values of sensing information SI, as shown in FIGS. 3F, 3H and 3J.

Accordingly, in an example of the present invention, sensing information SI having a plurality of signal values are generated based on signals of a plurality of sensors, wherein each signal value is generated based on a signal from a sensor, as shown in FIGS. 3B, 3E and 3F. In another example of the present invention, sensing information SI having a plurality of differences are generated based on signals of a plurality of sensors, wherein each difference is generated based on signals from a pair of sensors, as shown in FIGS. 3C, 3G and 3H. In yet another example of the present invention, sensing information SI having a plurality of dual differences are generated based on signals of a plurality of sensors, wherein each dual difference is generated based on signals from three sensors, as shown in FIGS. 3D, 3I and 3J.

In FIGS. 3E to 3J, wires connecting the detectors may include but not limited to wires W1 and wires W2. Connection between an integrator and a wire can be direct or indirect through a switching circuit, as shown in FIG. 3A. In an example of the present invention, values of sensing information are generated by multiple detections by at least a detector of detecting circuit 320. Detecting circuit 320 selects some of the sensors for detection by using switching circuit 310. In addition, only selected sensors are driven by driving unit 130A, for example, in self-capacitive detection. Moreover, only selected sensors and some sensors adjacent to the selected sensors are driven by driving unit 130A.

In the present invention, sensors can consist of a plurality of conductive sheets and wires, such as a set of rhombic or square conductive sheets connected together by wires. Structurally, conductive sheets of first sensors 140A and second sensors 140B may be arranged in different or same planes. For example, an insulating or piezoresistive layer can be interposed between first and second sensing layers 120A and 120B, wherein the piezoresistive layer is made from anisotropic conductive gel. Moreover, for example, conductive sheets of first sensors 140A and second sensors 140B are substantially arranged in the same plane, with the wires of first sensors 140A bridging over the wires of second sensors 140B. In addition, pads can be disposed between the wires of first sensors 140A and second sensors 140B. These pads can be made of insulating or piezoresistive materials.

Thus, in an example of the present invention, each sensor is responsible for a sensing range. There are a plurality of sensors, including a plurality of first sensors and a plurality of second sensors. The sensing ranges of these first sensors are parallel to each other, while the sensing ranges of these second sensors are parallel to each other. The parallel sensing ranges of the first and second sensors intersect to form an intersecting matrix. For example, the first and second sensors are two lines of infrared receivers arranged horizontally and vertically for sensing horizontal scanning ranges and vertical scanning ranges, respectively. The horizontal and vertical scanning ranges form an intersecting matrix. The horizontal and vertical scanning ranges are implemented by several lines of intersecting capacitive or resistive sensors.

Conversion of Sensing Information

The signal values, differences and dual differences of the sensing information can be converted into one another. In a first conversion method provided by the present invention, continuous signal values are converted into continuous differences; each difference being the difference between a pair of adjacent or non-adjacent signal values.

In a second conversion method provided by the present invention, continuous signal values are converted into continuous dual differences; each dual difference being the sum or difference between two pairs of signal values.

In a third conversion method provided by the present invention, continuous differences are converted into continuous signal values; each difference is added to all the preceding or following differences to obtain a corresponding signal value, thereby constructing continuous signal values.

In a fourth conversion method provided by the present invention, continuous differences are converted into continuous dual differences; each dual difference is the sum or difference of a pair of adjacent or non-adjacent differences.

In a fifth conversion method provided by the present invention, continuous dual differences are converted into continuous differences; each dual difference is added to all the preceding or following dual differences to obtain a corresponding difference, thereby constructing continuous differences.

In a sixth conversion method provided by the present invention, continuous dual differences are converted into continuous signal values. In an example of the present invention, each dual difference is added to all the preceding dual differences to obtain a corresponding difference, thereby constructing continuous differences, and thereafter each difference subtracts all the following differences to generate a corresponding signal value, thereby constructing continuous signal values. In another example of the present invention, each dual difference subtracts all the preceding dual differences to obtain a corresponding difference, thereby constructing continuous differences, and thereafter each difference is added to all the following differences to generate a corresponding signal value, thereby constructing continuous signal values.

Adding all the preceding or following differences or dual differences to generate a corresponding signal value or difference is performed by forward or backward accumulation.

These conversion methods may include but not limited to the conversion of 1-D sensing information, one with ordinary skill in the art can appreciate that the above conversion methods can be applied to 2-D sensing information or 3-D (or even more dimensional) sensing information. In addition, one with ordinary skill in the art can appreciate that the above conversion methods can be performed by said controller 160 or host 170.

Accordingly, in an example of the present invention, a first form of sensing information (e.g. 1-D or 2-D sensing information) detected is converted into sensing information for position analysis. In another example of the present invention, a first form of sensing information is converted into a second form of sensing information, and then the second form of sensing information is converted into sensing information for position analysis, for example, continuous dual difference is converted to continuous signal values.

One-Dimension Position Analysis

A first type of position analysis provided by the present invention involves analyzing the position of a zero-crossing based on a plurality of differences in sensing information as the corresponding position of an external object. One with ordinary skill in the art can recognize that position analysis may include but not limited to determination of the touch or proximity of an object, that is, determination of a corresponding position of an external object may include but not limited to the touch or proximity of the object.

In an example of the present invention, a pair of neighboring differences including a positive and a negative value is searched, that is, a pair of positive and negative values at both sides of a zero-crossing, and then the position of the zero-crossing in this pair of neighboring differences is then determined, for example, a slope is determined based on this pair of adjacent differences to infer the position of the zero-crossing. In addition, order of the positive and negative values can be used in conjunction for determining the position of the zero-crossing. Said pair of neighboring differences can be directly adjacent to each other, or not adjacent and with at least one zero value between them. In addition, a pair of neighboring differences with a predetermined order of arrangement can be searched for, for example, a pair of neighboring differences with a positive value appearing first and followed by a negative value is searched for.

In another example of the present invention, a threshold is used for determining the starting position of the search. From there, a pair of neighboring differences including a positive and a negative value is searched for, and then the position of a zero-crossing is determined based on the found pair of neighboring differences. One with ordinary skill in the art can appreciate that in the case that sensing information is represented by differences, when sensing information corresponding to the touch or proximity of an external object is above a positive threshold or below a negative threshold, the searching using these threshold values may include but not limited to the determination of the touch or proximity of the external object. In other words, whenever sensing information is above a positive threshold or below a negative threshold, it can be determined that there is a zero-crossing in the sensing information that corresponds to a touch or proximity of an external object.

For example, a threshold generates binary values corresponding to positive differences. For example, a difference smaller than a threshold (e.g. positive threshold) is represented by 0 or false, and a difference larger than the threshold is represented by 1 or true, and the position of a 1 or true in adjacent differences 10 is regarded as the starting position for a backward search of a zero-crossing. Similarly, a difference larger than a threshold (e.g. negative threshold) is represented by 0 or false, and a difference smaller than the threshold is represented by 1 or true, and the position of a 1 or true in adjacent differences 01 is regarded as the starting position for a forward search of a zero-crossing.

For example, Table 1 and FIG. 4B are examples of using threshold for determining touch or proximity of an external object.

TABLE 1 First Binary Second Binary Signal Difference Difference Index Value Difference (T1 = 4) (T2 = −4) 1 0 0 0 0 2 0 0 0 0 3 0 3 0 3 4 3 7 1 0 5 10 −7 0 1 6 3 −3 0 0 7 0 0 0 0 8 0 0 0 0 9 0 2 0 0 10 2 5 1 0 11 7 0 0 0 12 7 −5 0 1 13 2 −2 0 0 14 0 0 0 0 15 0 0 0 0

This example includes signal values or difference of 15 sensors and determination results using a positive threshold T1 (e.g. 4) and a negative threshold T2 (e.g. −4). In the determination results using the positive threshold, the starting positions are the 4th and 10th differences, that is, the position of a 1 in adjacent differences 10. In the diagram with vertical-stripe bar, it is found that there are two instances of touch or proximity of external objects. Similarly, in the determination results using the negative threshold, the starting positions are the 5th and 12th differences, that is, the position of a 1 in adjacent differences 01. In the diagram with horizontal-stripe bar, it is found that there are two instances of touch or proximity of external objects. One with skill the art can appreciate that the number of starting position corresponds to the number of instances of touch or proximity of external objects. The present invention does not limit to only two instances of touch or proximity of external objects, but there can be more.

In another example of the present invention, an interval for a zero-crossing is determined using a first threshold and a second threshold, which may include but not limited to touch or proximity of an external object, and then the position of the zero-crossing is searched within this interval. For example, a first threshold produces binary values of positive differences, for example, a difference smaller than the first threshold is represented by 0 or false, and a difference larger than the first threshold is represented by 1 or true, and the position of a 1 in adjacent differences 10 is regarded as the starting position. In addition, a second threshold produces binary values of negative differences, for example, a difference larger than the second threshold is represented by 0 or false, and a difference smaller than the second threshold is represented by 1 or true, and the position of a 1 in adjacent differences 01 is regarded as the end position. Moreover, the starting and end positions are paired to form intervals for searching zero-crossings. In an example of the present invention, a slope is used to determine the zero-crossing between a starting position (e.g. position of a 1 in 10) and an end position (e.g. position of a 1 in 01). One with ordinary skill in the art can appreciate that the starting and end positions are interchangeable. One with ordinary skill in the art can appreciate that touch related sensing information can be determined by regarding the location of 1 in 01 as the starting position and the location of 1 in 10 as the end position.

Take again the example shown in FIG. 4A and Table 1, after pairing, a first search interval is between the 4th and 5th differences, and a second search interval is between the 10th and 12th differences.

One with ordinary skill in the art can appreciate that positive and negative thresholdings can be performed simultaneously (or in parallel). Interval pairing can be carried out by pairing a determined starting position with an end position that determined immediately afterwards.

In an example of the present invention, thresholds can be generated by sensing information. For example, a threshold value can be determined by multiplying a maximum of the absolute values of all differences by a ratio (e.g. a ratio smaller than one, such as 0.9), or a positive threshold value can be determined by multiplying a maximum of all positive differences by a ratio, or a negative threshold value can be determined by multiplying a minimum of all negative differences by a ratio. In other words, a threshold value can be static or dynamic. Thus, when the absolute value of a threshold is relatively large, it is possible that external object is determined when using the positive thresholding but not in the negative thresholding, or vice versa. A larger threshold value is favorable for noise or ghost points filtering, while a smaller threshold value is favorable for avoiding miss of real touch or for determining approaching of external objects.

From the above, it is clear that, corresponding to the same touch or approaching of an object, regardless of a backward search from a starting position identified using a positive threshold value or a forward search from a starting position identified using a negative threshold value, the same zero-crossing will be searched. Thus, in an example of the present invention, search for a zero-crossing starts from starting positions identified using positive and negative threshold values, and the number of external touch or approaching is determined based on the number of zero-crossings found, and then the positions of the zero-crossings are determined. When the values at both sides of a zero-crossing that corresponds to an external touch or approaching are first positive and then negative, the search for zero-crossing is backward from the starting position when using positive thresholding, whereas the search for zero-crossing is forward from the starting position when using negative thresholding, and vice versa. In addition, an external touch or approaching may not always exhibit starting positions in both positive and negative thresholdings.

A second type of position analysis provided by the present invention involves analyzing the position of centroid (position of center of weight or weighted average position) based on a plurality of signal values or dual differences in sensing information as the corresponding position of an external object.

In an example of the present invention, a threshold value is used to determine the centroid position of signal values or dual differences, as shown in FIGS. 4B and 4D. A threshold can generate binary values corresponding to signal values or dual differences. For example, a signal value or dual difference smaller than a threshold is represented by 0 or false, and a signal value or dual difference larger than the threshold is represented by 1 or true. In this example, a signal value or dual difference represented by 1 or true is used in determining centroid position. One with ordinary skill in the art can appreciate other ways for determining a centroid position of signal values or dual differences using a threshold. For example, a signal value or dual difference represented by 1 or true, as well as a plurality of signal values or dual differences at either side thereof, are used in determining centroid position. As another example, in a continuous series of adjacent signal value or dual difference represented by 1 or true, a number (i) of and a number (j) of signal values or dual differences before and after a signal value or dual difference that is at the center of the series are taken to determine the centroid position.

In another example of the present invention, continuous signal values or dual differences are converted into continuous differences to identify the center signal value or dual difference that corresponds to a zero-crossing, and i and j signal values or dual differences before and after the center signal value or dual difference are used for determining the centroid position.

In another example of the present invention, a zero-crossing is determined by continuous differences, and the continuous differences are converted into continuous signal values or dual differences, and then the center signal value or dual difference that corresponds to the zero-crossing is identified, thereafter, i and j signal values or dual differences before and after the center signal value or dual difference are used for determining the centroid position.

Assuming that using i and j signal values respectively before and after the nth signal value as a centroid calculation range, the centroid position can be determined based on each signal value C_(k) and its position in the centroid calculation range as follows:

$C_{centroid} = \frac{\sum\limits_{k = {n - i}}^{n + j}{X_{k}C_{k}}}{\sum\limits_{k = {n - i}}^{n + j}C_{k}}$

wherein X_(k) can be a 1-D coordinate (e.g. X or Y coordinate) or 2-D coordinates (e.g. (X, Y)).

Assuming the difference between the k−1th signal value and the kth signal value is D_(k), and the kth dual difference is DD_(k)=D_(k−1)−D_(k)=(C_(k)−C_(k−1))−(C_(k+1)−C_(k))=2C_(k)−C_(k−1)+C_(k+1), and assuming using i and j signal values respectively before and after the nth dual difference DD_(n) as a centroid calculation range, the centroid position can be determined based on each dual difference DD_(k) in the centroid calculation range as follows:

${DD}_{centroid} = \frac{\sum\limits_{k = {n - i}}^{n + j}{X_{k}{DD}_{k}}}{\sum\limits_{k = {n - i}}^{n + j}{DD}_{k}}$

wherein X_(k) can be a 1-D coordinate (e.g. X or Y coordinate) or 2-D coordinates (e.g. (X, Y)). One with ordinary skill in the art can similarly appreciate the calculation for centroid position when the kth dual difference is DD_(k)=(C_(k)−C_(k−2))−(C_(k+2)−C_(k))=2C_(k)−C_(k−2)+C_(k+2). This will not be described further.

In another example of the present invention, signal values or dual differences used for determining centroid position is obtained by first subtracting a base value. For example, this base value can be the average of all signal values or dual differences, the average of a plurality of signal values or dual differences at either sides of the signal values or dual differences used for centroid position determination, or the average of a plurality of signal values or dual differences not used for centroid position determination that are adjacent to either sides of the signal values or dual differences used for centroid position determination. One with ordinary skill in the art can recognize other ways of determining the base value. For example, the base value can be determined based on a first ratio of at least one signal value or dual difference at one side and a second ratio of at least one signal value or dual difference at the other side.

Taken the average of the ith signal value C_(n-i) and the jth signal value I_(n+j) respectively before and after the nth signal value as base value

${C_{{base}{({i,j})}}\left( {C_{{base}{({i,j})}} = \frac{C_{n - i} + C_{n + j}}{2}} \right)},$ and using i and j signal values respectively before and after the nth signal value as a centroid calculation range, the centroid position can be determined based on each signal value C_(k) minus the base value C_(base(i,j)) in the centroid calculation range as follows:

$C_{{base}{({i,j})}} = \frac{C_{n - i} + C_{n + j}}{2}$ ${C_{k} - C_{{base}{({i,j})}}} = {\frac{{2C_{k}} - C_{n - i} - C_{n + j}}{2} = {\frac{\left( {C_{k} - C_{n - i}} \right)}{2} + \frac{\left( {C_{k} - C_{n + j}} \right)}{2}}}$ $\begin{matrix} {C_{cnetroid} = \frac{\sum\limits_{k = {n - i}}^{{n - i} \leq k \leq {n + j}}{X_{k}\left( \frac{{2C_{k}} - C_{n - i} - C_{n + j}}{2} \right)}}{\sum\limits_{k = {n - i}}^{{n - i} \leq k \leq {n + j}}\frac{{2C_{k}} - C_{n - i} - C_{n + j}}{2}}} \\ {= \frac{\sum\limits_{k = {n - i}}^{{n - i} \leq k \leq {n + j}}{X_{k}\left( {{2C_{k}} - C_{n - i} - C_{n + j}} \right)}}{\sum\limits_{k = {n - i}}^{{n - i} \leq k \leq {n + j}}\left( {{2C_{k}} - C_{n - i} - C_{n + j}} \right)}} \end{matrix}$

wherein X_(k) can be a 1-D coordinate (e.g. X or Y coordinate) or 2-D coordinates (e.g. (X, Y)).

A third type of position analysis provided by the present invention involves analyzing the position of centroid (position of center of weight or weighted average position) based on a plurality of differences in sensing information as the corresponding position of an external object.

Assuming the difference between the k−1th signal value C_(k−1) and the kth signal value C_(k) is D_(k).

(C_(k) − C_(n − i)) = D_(n − (i − 1)) + D_(n − (i − 2)) + … + D_(k)(C_(k) − C_(n + j)) = −(D_(k + 1) + D_(k + 2) + … + D_(n + j)) $\begin{matrix} {{C_{k} - C_{{base}{({i,j})}}} = \frac{{2C_{k}} - C_{n - i} - C_{n + j}}{2}} \\ {= \frac{\begin{matrix} {\left( {D_{n - {({i - 1})}} + D_{n - {({i - 2})}} + \ldots + D_{k}} \right) -} \\ \left( {D_{k + 1} + D_{k + 2} + \ldots + D_{n + j}} \right) \end{matrix}}{2}} \end{matrix}$ ${C_{k} - C_{{base}{({i,j})}}} = \frac{{\sum\limits_{s = {n - {({i - 1})}}}^{k}D_{s}} - {\sum\limits_{s = {k + 1}}^{n + j}D_{s}}}{2}$ $\begin{matrix} {C_{cnetroid} = \frac{\sum\limits_{s = {n - i}}^{{n - i} \leq k \leq {n + j}}{X_{s}\left( \frac{{\sum\limits_{s = {n - {({i - 1})}}}^{k}D_{s}} - {\sum\limits_{s = {k + 1}}^{n + j}D_{s}}}{2} \right)}}{\sum\limits_{s = {n - i}}^{{n - i} \leq k \leq {n + j}}\frac{{\sum\limits_{s = {n - {({i - 1})}}}^{k}D_{s}} - {\sum\limits_{s = {k + 1}}^{n + j}D_{s}}}{2}}} \\ {= \frac{\sum\limits_{s = {n - i}}^{{n - i} \leq k \leq {n + j}}{X_{k}\left( {{\sum\limits_{s = {n - {({i - 1})}}}^{k}D_{s}} - {\sum\limits_{s = {k + 1}}^{n + j}D_{s}}} \right)}}{\sum\limits_{s = {n - i}}^{{n - i} \leq k \leq {n + j}}\left( {{\sum\limits_{s = {n - {({i - 1})}}}^{k}D_{s}} - {\sum\limits_{s = {k + 1}}^{n + j}D_{s}}} \right)}} \end{matrix}$

Accordingly, the centroid position C_(centroid) can be calculated based on the differences between the signal values, wherein the differences in the centroid calculation range are D_(n−(i−1)), D_(n−(i−2)), . . . , D_(k), D_(k+1), . . . , D_(n+j), D_(n+(j+1)). In other words, the centroid position C_(centroid) can be calculated based on the differences in the centroid calculation range.

As an example, assuming 1 signal value before and after the nth signal value are taken for determining the centroid position, differences in the centroid calculation range can be used to calculate it. This is proven as follows:

D_(n − 1) = C_(n − 1) − C_(n − 2) D_(n) = C_(n) − C_(n − 1) D_(n + 1) = C_(n + 1) − C_(n) D_(n + 2) = C_(n + 2) − C_(n + 1) $C_{{base}{({2,2})}} = \frac{C_{n - 2} + C_{n + 2}}{2}$ ${C_{n - 1} - C_{{base}{({2,2})}}} = {\frac{{2C_{n - 1}} - C_{n - 2} - C_{n + 2}}{2} = \frac{D_{n - 1} - D_{n} - D_{n + 1} - D_{n + 2}}{2}}$ ${C_{n} - C_{{base}{({2,2})}}} = {\frac{{2C_{n}} - C_{n - 2} - C_{n + 2}}{2} = \frac{D_{n - 1} + D_{n} - D_{n + 1} - D_{n + 2}}{2}}$ ${C_{n + 1} - C_{{base}{({2,2})}}} = {\frac{{2C_{n + 1}} - C_{n - 2} - C_{n + 2}}{2} = \frac{D_{n - 1} + D_{n} + D_{n + 1} - D_{n + 2}}{2}}$ $C_{centroid} = \frac{\begin{matrix} {{X_{n - 1}\left( {C_{n - 1} - C_{{base}{({2,2})}}} \right)} + {X_{n}\left( {C_{n} - C_{{base}{({2,2})}}} \right)} +} \\ {X_{n + 1}\left( {C_{n + 1} - C_{{base}{({2,2})}}} \right)} \end{matrix}}{\left( {C_{n - 1} - C_{{base}{({2,2})}}} \right) + \left( {C_{n} - C_{{base}{({2,2})}}} \right) + \left( {C_{n + 1} - C_{{base}{({2,2})}}} \right)}$ C_(centroid) = (X_(n − 1)(D_(n − 1) − D_(n) − D_(n + 1) − D_(n + 2)) + X_(n)(D_(n − 1) + D_(n) − D_(n + 1) − D_(n + 2)) + X_(n + 1)(D_(n − 1) + D_(n) + D_(n + 1) − D_(n + 2)))/((D_(n − 1) − D_(n) − D_(n + 1) − D_(n + 2)) + (D_(n − 1) + D_(n) − D_(n + 1) − D_(n + 2)) + (D_(n − 1) + D_(n) + D_(n + 1) − D_(n + 2)))

One with ordinary skill in the art can recognize that taking i and j signal values, differences or dual differences respectively before and after the nth signal value as the centroid calculation range can be applied to determine the signal value, difference or dual difference on the centroid position.

From the above description, it can be seen that the present invention performs position detection by analyzing sensing information that may not only include originally obtained signal values, differences, or dual differences, but also signal values, differences, or dual differences converted from originally obtained sensing information. By analyzing 1-D or 2-D sensing information on two difference axes (e.g. X and Y axes) that corresponds to the same object, that is, by performing 1-D or 2-D position analysis on two different axes, the positions (or coordinates) of the object on these two axes can be obtained, thereby a 2-D position (or 2-D coordinates) can be constructed.

One with ordinary skill in the art can appreciate that operations of the above 1-D position analysis can be performed by said controller 160 or host 170.

Two-Dimension Position Analysis

2-D sensing information can be comprised of a plurality of 1-D sensing information, wherein each 1-D sensing information includes sensing information that corresponds to a plurality of first 1-D positions, and each 1-D sensing information corresponds to a second 1-D position. Thus, 2-D position analysis can at least include 1-D position analysis on a plurality of 1-D touch sensitive information, that is, 2-D position analysis can at least include a plurality of 1-D position analysis.

In addition, in a first example of the present invention, a first 1-D centroid position of any external object on each first dimensional sensing information is a 2-D position (e.g. 2-D coordinates (first 1-D centroid position, second 1-D position of the first dimensional sensing information)), and can be used to calculate a 2-D centroid position of the object (or center of geometry), wherein the weight of each 1-D centroid position can be a signal value or dual difference of the external object on the corresponding first dimensional sensing information (e.g. one or average or interpolation of two signal values or dual differences closest to the 1-D centroid position on the first dimensional sensing information), or sum of signal values or dual differences of the external object on the corresponding first dimensional sensing information.

Thus, 2-D position analysis can perform 1-D position analysis on each first dimensional sensing information, and analyze a 2-D centroid position of each external object based on at least one 2-D position that corresponds to each external object.

In addition, in a second example of the present invention, 2-D position analysis may include performing 1-D position analysis on a plurality of 1-D sensing information on a first axis (or a first dimension), respectively, and based on at least one 1-D position corresponding to each external object on the first axis, analyzing a first 1-D centroid position of each external object on the first axis. Similarly, 2-D position analysis may further include performing 1-D position analysis on a plurality of 1-D sensing information on a second axis (or a second dimension), respectively, and based on at least one 1-D position corresponding to each external object on the second axis, analyzing a second 1-D centroid position of each external object on the second axis. By pairing the first 1-D centroid position on the first axis with the second 1-D centroid position on the second axis for each external object, a 2-D position for each external object can be analyzed.

In other words, 2-D position analysis may include performing 1-D position analysis on 2-D sensing information on two different axes (e.g. 2-D sensing information on the first axis and 2-D sensing information on the second axis) to obtain a 2-D position for each external object.

In addition, in a third example of the present invention, 2-D position analysis may include analyzing 1-D centroid position corresponding to each external object from a plurality of 1-D sensing information on a first axis, and based on a 2-D position corresponding to each 1-D sensing information, determining a 2-D position of each 1-D centroid position that corresponds to each external object on the first axis. 2-D position analysis may further include analyzing 1-D centroid position corresponding to each external object from a plurality of 1-D sensing information on a second axis, and based on a 2-D position corresponding to each 1-D sensing information, determining a 2-D position of each 1-D centroid position that corresponds to each external object on the second axis. 2-D position analysis may further include analyzing a 2-D centroid position based on the 2-D positions of all 1-D centroid positions on the first and second axes that correspond to each external object.

One with ordinary skill in the art can appreciate that 2-D sensing information can determine the position of each external object by image processing, for example, using watershed or other image processing techniques. As another example, watershed algorithm can be used to analyze the position of each watershed, and then the centroid position is calculated using sensing information near each watershed position to obtain a more accurate position.

In a fourth example of the present invention, a plurality of 1-D sensing information originally obtained can be represented by signal values or dual differences, which construct an image (or matrix) formed from 2-D sensing information. Watershed algorithm or other image processing techniques can be used for position analysis. Alternatively, a “connected component” algorithm can be used, which analyzes connected portions in an image to determine an image of each external object, and further determines the position or the type of the object, such as a finger, a palm or a pen.

In a fifth example of the present invention, a plurality of 1-D sensing information originally obtained can be represented by differences, which are then converted into signal values or dual differences, which in turn construct an image (or matrix) formed from 2-D sensing information. Watershed algorithm or other image processing techniques can be used for position analysis.

In a sixth example of the present invention, a plurality of 1-D sensing information originally obtained can be represented by differences. By performing position analysis on each 1-D sensing information, the position of each zero-crossing, as well as the signal value or dual difference on the position of each zero-crossing can be determined, thereby constructing an image (or matrix) formed from 2-D sensing information. Watershed algorithm or other image processing techniques can be used for position analysis.

The dual difference of a zero-crossing point can be generated by two directly adjacent differences, for example, a zero-crossing is between the k−1th difference and the kth difference, and the dual difference at this zero-crossing point is DD_(k)=D_(k−1)−D_(k). The signal value of a zero-crossing point can be generated after converting all differences representing the 1-D sensing information into signal values, or generated based on a plurality of differences closest to the zero-crossing. For example, zero-crossing is closest to the nth signal value, and the average of ith signal value C_(n-i) and the jth signal value I_(n+j) before and after the nth signal value is taken as the base value

${C_{{base}{({i,j})}}\left( {C_{{base}{({i,j})}} = \frac{C_{n - i} + C_{n + j}}{2}} \right)},{and}$ ${C_{n} - C_{{base}{({i,j})}}} = \frac{{2C_{n}} - C_{n - i} - C_{n + j}}{2}$ is taken as the signal value, then

$\begin{matrix} {{C_{n} - C_{{base}{({i,j})}}} = \frac{{2C_{n}} - C_{n - i} - C_{n + j}}{2}} \\ {= {\frac{\begin{matrix} {\left( {D_{n - {({i - 1})}} + D_{n - {({i - 2})}} + \ldots + D_{n}} \right) -} \\ \left( {D_{n + 1} + D_{n + 2} + \ldots + D_{n + j}} \right) \end{matrix}}{2}.}} \end{matrix}$

In other words, between the n−(i−1)th difference to the (n+j)th difference, the signal value at zero-crossing can be determined.

In a seventh example of the present invention, a plurality of 1-D sensing information originally obtained can be represented by signal values and dual differences and are then converted to differences. By performing analysis on each 1-D sensing information, the position of each zero-crossing is determined. In conjunction with the signal value or dual difference on each zero-crossing position, an image (or matrix) formed by 2-D sensing information can be constructed. Watershed algorithm or other image processing techniques can be used for position analysis.

In an eighth example of the present invention, when or in the process of obtaining 2-D sensing information on the first axis, 1-D sensing information on the second axis is also obtained. After performing position analysis on the position of the 2-D sensing information on the first axis, the 1-D position or 2-D position of each external object on the first axis can be obtained. In addition, after performing position analysis on the position of the 2-D sensing information on the second axis, the 1-D position of each external object on the second axis can be obtained. The 1-D position on the second axis can be paired up with the 1-D position on the first axis to form a 2-D position, or can be used to replace or correct the position on the second axis in the 2-D position on the first axis.

One with ordinary skill in the art can appreciate that the operations of the above 2-D position analysis can be performed by said controller 160 or host 170. In addition, in an example of the present invention, the 1-D distance or 2-D distance between each 1-D centroid position corresponding to the same touch or approach and at least one other 1-D centroid position corresponding to the same touch or approach is within a threshold. In another example of the present invention, the weight of each 1-D centroid position corresponding to the same touch or approach is greater than a threshold.

In the following description, a touch related sensing information can be a touch related sensing information or one of multiple touch related sensing information in a sensing information. Operations related to touch related sensing information can be applied not only to specific touch related sensing information but also to all touch related sensing information of the present invention.

In an example of the present invention, the position of a zero-crossing can be determined by a pair of positive and negative values of the touch related sensing information. A zero-crossing exists between a positive and a negative value. From this positive and negative value and their associated positions, the slope can be determined, which is then used to estimate the position of the zero-crossing, that is, the position at the zero value of a line between the positive and negative values is determined based on the slope.

In another example of the present invention, the pair of positive and negative values can be respectively determined using a positive threshold Tp and a negative threshold Tn. As shown in FIG. 5A. positive values are at points a and points b, or the value closest to point a (e.g. the N+1^(th) difference) or the value closest to point b (e.g. the N+3^(th) difference). Similarly, negative values are at points c and points d, or the value closest to point c (e.g. the N+4^(th) difference) or the value closest to point d (e.g. the N+6^(th) difference). For example, the positive value is the N+3^(th) difference and the negative value is the N+4^(th) difference, and a virtual line is drawn from the peak of the positive value to the trough of the negative value, and the slope of the line is then determined, which is then used to calculate the position for this line at zero value, i.e. the zero-crossing Z.

In an example of the present invention, the position of the zero-crossing can be determined by the maximum (peak) and minimum (trough) of the touch related sensing information. As shown in FIG. 5B, the slope can be obtained from a maximum and a minimum and their associated positions, and the position of the zero-crossing is estimated based on the slope, that is, the position of the line connecting between the maximum and the minimum at zero value is determined based on the slope. For example, touch related sensing information is present between the N^(th) difference and the N+6^(th) difference, and the maximum and the minimum are the N+2^(th) difference and the N+5^(th) difference respectively. A virtual line is drawn from the peak of the maximum to the trough of the minimum. The position of the zero-crossing is at zero value on this line, which can be calculated by the slope of the line.

The maximum and minimum can be determined by the thresholds mentioned earlier. For example, positive threshold Tp and negative threshold Tn can be fixed or dynamically adjusted, so that the maximum and the minimum stand out from positive threshold Tp and negative threshold Tn. Alternatively, a group of positive values greater than positive threshold Tp and a group of negative values less than negative threshold Tn are obtained based on positive threshold Tp and negative threshold Tn, and then the maximum and minimum are determined from the groups of positive and negative values.

Touch related sensing information in a sensing information can be one or more, that is, the sensing device is touched or approached by one or more external object. For example, as shown in FIG. 5C, a sensing information includes two touch related sensing information. A group of positive values (or maximum) and a group of negative values (or minimum) in each touch related sensing information are determined based on positive threshold Tp and negative threshold Tn, and then two zero-crossings Z1 and Z2 are then determined. In the present invention, the determination of zero-crossings may include but not limited to the positions and the number of zero-crossings.

In fact, the determination of zero-crossings implies the determination of the number of external touches or approaches. For example, two zero-crossings are determined in FIG. 5C, this implies that there are two external touches or approaches.

When two external touches or approaches are too close to each other, a touch related sensing information will be formed. As shown in FIG. 5D, a curve line at the top indicates the signal values, and a bend line at the bottom indicates the corresponding difference. When examining the curve line, there may be two external touches, but when examining the bend line, there are three zero-crossings.

In an example of the present invention, zero-crossings are determined depending on the order of appearance of each pair of positive and negative values. For example, only zero-crossings between pairs of positive first then negative values are taken into account. On the other hand, zero-crossings between pairs of negative first then positive values are not taken into account. Alternatively, only zero-crossings between pairs of negative first then positive values are taken into account, but zero-crossings between pairs of positive first then negative values are not taken into account. As shown in FIG. 5D, when only zero-crossings between pairs of positive first then negative values are taken into account, two zero-crossings are determined. In other words, when there is a single touch or approach, and touch related sensing information is positive value first then negative, only the zero-crossing between a pair of positive first then negative values is determined, and vice versa.

In another example of the present invention, zero-crossings at odd number of positions are considered. As shown in FIG. 5E, a first zero-crossing Z3, a third zero-crossing Z4, and a fifth zero-crossing Z5 are considered. Accordingly, the position of each external touch or approach is analyzed from the touch related sensing information with a plurality of zero-crossings, and in the present invention, the position of each external touch or approach is analyzed from the touch related sensing information with odd number of zero-crossings, wherein the number of analyzed positions is different from the number of zero-crossings.

The number of analyzed positions different from the number of zero-crossings may include but not limited to the number of zero-crossings greater than the number of analyzed positions, or the number of zero-crossings less than the number of analyzed positions, for example, two external touches or approaches are determined from a touch related sensing information with a single zero-crossing.

In a preferred example of the present invention, a sensor I with a signal value which is first to exceed a preset range is determined, and a sensor J−1 preceding a sensor J with a signal value which is first to not exceed the preset range is also determined. Two centroids or geometric centers are calculated from sensor I and sensor J−1 to obtain two positions. In addition, in a preferred example of the present invention, a base value for a centroid or geometric center is calculated based on the average of signal values of the K^(th) sensors from either side of a sensor. The coordinate is calculated by dividing the sum of (signal value−base value)*coordinate value) of each sensor within the kith sensor range from either side of a sensor with the sum of the coordinate value or signal value of each sensor within the k−1^(th) sensor range from either side of a sensor, wherein if the difference between the signal value and the base value is negative, the result of the subtraction is represented by 0.

Referring to FIGS. 6A and 6B, there are 11 sensors, including sensors 1˜11. In FIG. 6A, the signal values of the sensor 1˜11 are (0,0,0,3,4,4,5,3,0,0,0), respectively, and the differences are (0,0,3,1,0,1,−2,−3,0,0), respectively, and the present range is between 1.9 and −1.9. Thus, sensor I and sensor J−1 are sensors 4 and 7, respectively. The coordinate corresponding to sensor 4 is calculated by first obtaining the average of signal values of the second sensor at either side of sensor 4 (0 for sensor 2 and 4 for sensor 6). In this case, the average is 2. Thus, the coordinate is 5.17=(0*3.5+1*4.5+2*5.5)/(0+1+2). Similarly, the coordinate corresponding to sensor 7 is 6.33, and the distance of the two is 1.17. In the same way, as shown in FIG. 6B, sensor I and sensor J−1 are sensors 4 and 7, respectively, and the coordinates corresponding to sensors 4 and 7 are 5.5 and 6.04, respectively, and the distance between the two is 0.54. Thus, when the first threshold is 0.8, FIG. 6A is regarded as having two external touches and FIG. 6B is regarded as having only a single touch.

In the example of FIG. 6A, 5.17 and 6.33 can be used as the position of the external touches. In the example of FIG. 6B, the average or the position of the zero-crossing of 5.5 and 6.04 can be used as the position of the single external touch. Comparing FIGS. 6A and 6B, although the numbers of values in the touch related sensing information are the same, and both have a single zero-crossing, but a touch related sensing information indicating a single or multiple touches can be distinguished by using the determination provided by the present invention.

The determination of sensors I and J−1 or J are merely examples of the present invention, and the present invention is not limited to these. One with ordinary skill in the art can recognize other ways for determining two positions from touch related sensing information and using the distance between positions of the centroids or geometric centers of these two positions on the touch related sensing information to determine whether there is a single touch or multiple touches. For example, sensors I and J may be the K^(th) sensor from the touch related sensing information, respectively. As another example, sensors I and J may be determined based on a pair of zero-crossing of dual-differential sensing information, e.g. based on signal values at corresponding zero-crossings, or the k^(th) signal values from corresponding zero crossings. The method for determining two positions from touch related sensing information can be varied depending on the distances between sensors, signal properties, or the thickness of a carrier or a substrate on which the sensors are provided.

Referring to FIG. 7, a method for analyzing positions is provided by a first embodiment of the present invention. First, in step 710, a sensing information including at least one zero-crossing is obtained, wherein each zero-crossing is between a positive and a negative value. Thereafter, in step 720, a plurality of positions that are different in numbers to the zero-crossings are analyzed. In other words, in addition to analyzing each position when the number of zero-crossings equals the number of external touches or approaches, each position can also be analyzed when the number of zero-crossings does not equal the number of external touches or approaches.

As mentioned before, the number of zero-crossings can be greater or less than the number of analyzed positions. For example, from odd number of zero-crossings, the location of the zero-crossing at each odd location is determined to analyze the positions that are less than the number of zero-crossings. As another example, a touch related sensing information with a single zero-crossing can be determined as a single touch or approach (e.g. one touch) or multiple touches or approaches (e.g. two touches).

The number of zero-crossing may also be even, for example, when sensing information is dual-differential sensing information, each position is analyzed based on a pair of zero-crossings or the peak between a pair of zero-crossings.

Sensing information can be generated based on signals of a plurality of sensors. For example, sensing information may be differential sensing information. Each value of the differential sensing information is generated based on signals of a pair of sensors in the sensors. As another example, sensing information may be dual-differential sensing information. Each value of the dual-differential sensing information is generated based on signals of three sensors in the sensors. Moreover, sensing information can also be generated based on another sensing information consisting of a plurality of signal values, a plurality of differences, or a plurality of dual differences (e.g. as the conversion of sensing information described previously).

Steps 710 and 720 can be performed by controller 160 or host 170. Moreover, the obtaining of sensing information can be achieved by first generating another sensing information by controller 160 based on signals of a plurality of sensors, and then converting it into the sensing information described in step 710 by controller 160 or host 170. For relevant contents, please refer to pervious descriptions, and they will not be described further.

In the best mode, referring to FIG. 8, a method for analyzing positions is provided by a second embodiment of the present invention. First, in step 810, a sensing information is obtained. As described before, sensing information can be generated by controller 160 according to signals of a plurality of sensors, or converted by controller 160 or host 170 from an initial sensing information generated by controller 160 according to signals of a plurality of sensors.

Next, in step 820, at least a first initial position in the sensing information is determined based on a first threshold, as illustrated in FIGS. 5A to 5C and their associated descriptions, for example. Next, in step 830, a zero-crossing position is determined by performing zero-crossing position analysis starting from each first initial position in a first range in a first direction, wherein each zero-crossing is between a positive and a negative value.

In an example of the present invention, at least a first initial range is determined by a first threshold. Each first initial position is at the only value in the first initial range or the maximum value, the first value, or the last value in the first initial range. The first range can be from the first initial position to the value just before a zero-crossing, a zero-crossing, or the value just after a zero-crossing. For example, a first initial range including point a, the maximum value, and point b is determined by using positive threshold Tp, and the first initial position can be point a, the maximum value, or point b. Moreover, the first direction can be backward, and the first range is from the first initial position back to the first value with an opposite sign (negative value) or zero value. As another example, a first initial range including point c, the minimum value, and point d is determined by using negative threshold Tn, and the first initial position can be point c, the minimum value, or point d. Moreover, the first direction can be forward, and the first range is from the first initial position forward to the first value with an opposite sign (negative value) or zero value. In addition, determining the first initial range or the first initial position using the first threshold can be achieved by the binarization process mentioned earlier as illustrated in FIG. 4 and its associated descriptions.

In another example of the present invention, a zero-crossing position is analyzed from the first value with an opposite sign and another value adjacent the zero-crossing. In other words, a zero-crossing position is analyzed from a pair of positive and negative values adjacent the zero-crossing.

In yet another example of the present invention, each zero-crossing position is used as the position of at least one external touch, or each zero-crossing position determines a position corresponding to one of least one external touch. For example, the position of a centroid or geometric center is calculated based on each zero-crossing position, and used as the position of one of at least one external touch. The position of a centroid or geometric center may be calculated based on a zero-crossing position, directly from the sensing information, or from a plurality of signal values or a plurality of dual differences corresponding to the sensing information.

Referring to FIG. 5F, when external touches are close to each other; the first threshold may not always find a first initial position corresponding to each external touch due to cancellation of some positive and negative values of different external touches. In order to address this problem, the present invention further includes steps 840 and 850, in which at least a second initial position in the sensing information is determined based on a second threshold, and a zero-crossing position is determined by performing zero-crossing position analysis starting from each second initial position in a second range in a second direction.

In an example of the present invention, at least a second initial range is determined by a second threshold. Each second initial position is at the only value in the second initial range or the maximum value, the first value, or the last value in the second initial range. The second range can be from the second initial position to the value just before a zero-crossing, a zero-crossing, or the value just after a zero-crossing. For example, a second initial range including point a, the maximum value, and point b is determined by using positive threshold Tp, and the second initial position can be point a, the maximum value, or point b. Moreover, the second direction can be backward, and the second range is from the second initial position back to the first value with an opposite sign (negative value) or zero value. As another example, a second initial range including point c, the minimum value, and point d is determined by using negative threshold Tn, and the second initial position can be point c, the minimum value, or point d. Moreover, the second direction can be forward, and the second range is from the second initial position forward to the first value with an opposite sign (negative value) or zero value. In addition, determining the second initial range or the second initial position using the second threshold can be achieved by the binarization process mentioned earlier as illustrated in FIG. 4 and its associated descriptions.

In an example of the present invention, one of the first and second thresholds is positive, while the other one of the first and second thresholds is negative. In addition, the first and second directions are opposite.

In another example of the present invention, said steps 810 to 850 are applicable to sensing information or touch related sensing information with odd number of zero-crossings, and the analyzed zero-crossings are zero-crossings at odd-number positions. In the present invention, zero-crossings at odd-number positions are zero-crossings appeared at odd-number position in the sequence of all zero-crossings.

Steps 810 to 850 can be performed by controller 160 or host 170. Moreover, the obtaining of sensing information can be achieved by first generating another sensing information by controller 160 based on signals of a plurality of sensors, and then converting it into the sensing information described in step 810 by controller 160 or host 170. For relevant contents, please refer to pervious descriptions, and they will not be described further.

Referring to FIG. 9, a method for detecting finger touches in a sensing device is provided by a third embodiment of the present invention. First, in step 910, a sensing information is obtained. Next, in step 920, it is determined whether there are positive values greater than a positive threshold. Then, in step 930, it is determined whether there are negative values smaller than a negative threshold. Thereafter, in step 940, when there are positive values greater than the positive threshold and negative values smaller than the negative threshold, zero-crossings between these positive and negative values are determined.

In an example of the present invention, the zero-crossings are touch positions, and the number of zero-crossings is the number of touches. In addition, the determining of zero-crossings may include determining a zero-crossing between a first pair of a positive value followed by a negative value, wherein the determining of zero-crossings may include not determining a zero-crossing between a second pair of a negative value followed by a positive value. Alternatively, the determining of zero-crossings may include determining a zero-crossing between a first pair of a negative value followed by a positive value, wherein the determining of zero-crossings may include not determining a zero-crossing between a second pair of a positive value followed by a negative value.

Steps 910 to 940 can be performed by controller 160 or host 170. Moreover, the obtaining of sensing information can be achieved by first generating another sensing information by controller 160 based on signals of a plurality of sensors, and then converting it into the sensing information described in step 810 by controller 160 or host 170. For example, the sensing information is generated by controller 160 based on signals from a plurality of sensors, and each value of these sensors is generated based on signals of a pair of sensors among the sensors. As another example, the sensing information can be generated based on a plurality of signal values, and these signal values are generated by controller 160 based on signals from a plurality of sensors. As yet another example, the sensing information can be generated based on a plurality of dual differences, and each dual difference is generated by controller 160 based on signals from three sensors among the sensors. For relevant contents, please refer to pervious descriptions, and they will not be described further.

The above embodiments are only used to illustrate the principles of the present invention, and they should not be construed as to limit the present invention in any way. The above embodiments can be modified by those with ordinary skill in the art without departing from the scope of the present invention as defined in the following appended claims. 

What is claimed is:
 1. A method for analyzing positions, executed by a microprocessor from a non-transitory computer-readable storage medium, comprising: obtaining a sensing information; determining, by the microprocessor, at least a first initial position in the sensing information based on a first threshold; performing, by the microprocessor, a zero-crossing position analysis starting from each first initial position in a first range in a first direction to determine the position of a zero-crossing, wherein each zero-crossing is between a positive and a negative value.
 2. The method of claim 1, wherein the first range is from the first initial position to the value just before the zero-crossing, the zero-crossing, or the value just after the zero-crossing.
 3. The method of claim 1, wherein the first threshold determines at least a first initial range, each first initial position being at the only value in the first initial range, or the maximum value, the first value, or the last value in the first initial range.
 4. The method of claim 1, wherein the first threshold is a positive or negative value and the first direction is forward or backward.
 5. The method of claim 1, wherein the zero-crossing position analysis analyzes the position of the zero-crossing based on neighboring values before or after the zero-crossing.
 6. The method of claim 1, further comprising: determining the position corresponding to at least one external touch based the position of each zero-crossing.
 7. The method of claim 1, further comprising: determining at least a second initial position in the sensing information based on a second threshold; performing a zero-crossing position analysis starting from each second initial position in a second range in a second direction to determine the position of a zero- crossing.
 8. The method of claim 7, wherein the second range is from the second initial position to the value just before the zero-crossing, the zero-crossing, or the value just after the zero-crossing.
 9. The method of claim 7, wherein the second threshold determines at least a second initial range, each second initial position being at the only value in the second initial range, or the maximum value, the first value, or the last value in the second initial range.
 10. The method of claim 7, wherein the second threshold is a positive or negative value and the second direction is forward or backward, wherein the second direction is opposite to the first direction.
 11. A device for analyzing positions, comprising a controller or a host for performing at least the following operations: obtaining a sensing information; determining at least a first initial position in the sensing information based on a first threshold; performing a zero-crossing position analysis starting from each first initial position in a first range in a first direction to determine the position of a zero-crossing, wherein each zero-crossing is between a positive and a negative value.
 12. The device of claim 11, wherein the first range is from the first initial position to the value just before the zero-crossing, the zero-crossing, or the value just after the zero-crossing.
 13. The device of claim 11, wherein the first threshold determines at least a first initial range, each first initial position being at the only value in the first initial range, or the maximum value, the first value, or the last value in the first initial range.
 14. The device of claim 11, wherein the first threshold is a positive or negative value and the first direction is forward or backward.
 15. The device of claim 11, wherein the zero-crossing position analysis analyzes the position of the zero-crossing based on neighboring values before or after the zero-crossing.
 16. The device of claim 11, wherein the controller or the host further includes performing the following operations: determining the position corresponding to at least one external touch based the position of each zero-crossing.
 17. The device of claim 11, wherein the controller or the host further includes performing the following operations: determining at least a second initial position in the sensing information based on a second threshold; performing a zero-crossing position analysis starting from each second initial position in a second range in a second direction to determine the position of a zero- crossing.
 18. The device of claim 17, wherein the second range is from the second initial position to the value just before the zero-crossing, the zero-crossing, or the value just after the zero-crossing.
 19. The device of claim 17, wherein the second threshold determines at least a second initial range, each second initial position being at the only value in the second initial range, or the maximum value, the first value, or the last value in the second initial range.
 20. The device of claim 17, wherein the second threshold is a positive or negative value and the second direction is forward or backward, wherein the second direction is opposite to the first direction. 